type IFormType =
  | 'input'
  | 'password'
  | 'select'
  | 'datepicker'
  | 'switch'
  | 'checkbox'
  | 'radio'
  | 'inputNumber'
  | 'rate'
  | 'treeSelect'
  | 'upload'
  | 'editor'
  | 'autocomplete'

export interface IFormItem {
  field: string
  type: IFormType
  label: string
  rules?: any[]
  placeholder?: any
  options?: any[]
  //针对特殊属性
  otherOptions?: any
  isHidden?: boolean
  min?: number
  max?: number
  slotName?: string
  colLayout?: any
  labelWidth?: string
  childrenProps?: any
}

export interface IForm {
  formItems: IFormItem[]
  labelWidth?: string
  itemStyle?: any
  colLayout?: any
  rules?: Object
}
